Stackable switches are switches or routers that may function in a stand-alone mode and may also function within a stack. These stackable switches, herein referred to as switches, are coupled into a single logical unit called a stack. The switches are operatively interconnected via a pair of designated stack ports present on each switch. The system of stack switches is generally coupled in series and the topology of the system generally characterized by a closed loop called a ring or an open strand of switches referred to herein as a chain. Each of the stack switches is adapted to perform switching between its own data ports as well as the data ports of other stack switches by transmitting packets via the stack ports, that facilitate the efficient transmission and switching of these packets to the appropriate stack switch port.
Each switch in a stack may be elected to become the primary master or the secondary master. The primary master performs the primary stack management functions, which may include maintaining and updating configuration file, routing information, and other stack information. The secondary master acts as a back-up to the primary master. One primary master switch and one secondary master switch are generally elected in a stack system. This election mechanism may be governed by various election criteria as known to those of ordinary skill in the art. Such election criteria, for example, are governed by the switch having the lowest media access control (MAC) address or having the longest uptime or having the lowest stack identifier. User priority may also govern the primary and secondary master election.
Various pieces of information are needed to effectively run and communicate with a system of integrated stack switches. The system of stack switches is generally, for example, identified with one Internet Protocol (IP) address and one stack address. This makes the system of stack switches appear as one logical unit, particularly, to external devices communicating with such system.
Each switch element is delivered to a customer with a unique local MAC address. This address is a globally-assigned organizationally-unique identifier that is assigned by the manufacturer. This MAC address is generally stored in persistent memory. In traditional or prior art system of stack switches, the stack address mirrors the MAC address of the currently running primary master. Thus, when a primary master fails and a secondary master starts functioning as the primary master, the stack address for the system of stack switches is also accordingly changed to reflect the MAC address of the now running primary master.
This constant change whenever a failover occurs impacts not only the system of stack switches but also surrounding devices that communicate with this stack. One example is the impact to address resolution protocol (ARP) tables and other Layer 3 tables. For example, let us assume that the system of stackable switches, Stack A, is known to surrounding devices with stack address, M1. When a failover occurs, the secondary starts functioning as the new primary master and the stack address is also accordingly changed, for example, to M2, i.e., the new primary master's MAC address. Stack A advertises its new stack address—M2. Neighboring or surrounding nodes which have already associated Stack A with stack address M1, now have to changed their ARP tables to associate Stack A with the new stack address M2. This change in stack address also entails updating and replacing all routes using the previous stack address of M1, as the next hop, with the new stack address M2.
Another aspect that may be impacted is link aggregation, in accordance with the IEEE 802.3ad Link Aggregation Standard. Link aggregation or trunking is a method of combining physical network links into a single logical link to increase bandwidth. In some prior art embodiments, changing the stack address results in the aggregates or trunks being recomputed considering that the stack address is used in computing keys necessary to provide link aggregation. A change in the stack address thus generates a new set of keys using the new address.
Another aspect that may be impacted is the recalculation of the spanning tree in accordance with the spanning tree protocol. This protocol is contained in the IEEE 802.1D standard. If the stack address is changed due to the election of a new primary master, a new spanning tree has to be recalculated to account for this change. This is particularly burdensome, when the new elected primary master becomes the new root bridge. The root bridge uses the MAC address as one of its parameters.
The change in the stack address does have a direct impact to the network and to the performance of the system of stack switches. The change of stack address gives rise to higher latency due to relearning of the new stack address or recomputation of new spanning tree or trunks. This also gives rise to situations where links are temporarily down. This impact is also particularly burdensome when multiple primary master to secondary master failovers occur. A way to alleviate this negative impact is thus highly desirable. The present invention fulfills this need.